Handle resolution changes in the GDK backend code
authorOwen W. Taylor <otaylor@fishsoup.net>
Fri, 11 Jul 2014 20:42:38 +0000 (16:42 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Sun, 13 Jul 2014 19:35:23 +0000 (15:35 -0400)
commitfc6e2cc4b27403707bf2a9f4717442842914e626
tree5d911997ef8c1ba99f257ab43198ec8fc4bc9ddc
parentcef6f34fb7585fc423ec999822d515d6da0e6d6f
Handle resolution changes in the GDK backend code

gdk_x11_display_set_window_scale() affects the interpretation of the
Xft/DPI XSETTING - it is substituted inside GDK with the value of
Gdk/UnscaledDPI xsetting. However, this change is not propagated to
GTK+ and from GTK+ back to gdk_screen_set_resolution() until the
main loop is run.

Fix this by handling the screen resolution directly in gdk/x11.
This requires duplication of code between GDK and GTK+ since we still
have to handle DPI in GTK+ in the case that GdkSettings:gtk-xft-dpi
is set by the application.

https://bugzilla.gnome.org/show_bug.cgi?id=733076
gdk/gdkinternals.h
gdk/gdkscreen.c
gdk/gdkscreenprivate.h
gdk/quartz/gdkscreen-quartz.c
gdk/wayland/gdkscreen-wayland.c
gdk/x11/xsettings-client.c
gtk/gtksettings.c